[#-- css/js 版本号 --]
[#assign ctx="${ctx}"]
[#assign edition="20241212"] [#-- ${.now?long} --]

[#-- html文档声明 --]
[#macro htmlDoctype]
    [#import "/spring.ftl" as spring/]
    <!DOCTYPE html>
    <html lang="zh">
        [#nested/]
    </html>
[/#macro]

[#-- html头信息 --]
[#macro head title="DB Adminer" css=[]]
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="keywords" content="DB Adminer,Web Database Manager,Web Navicat">
        <meta name="description" content="Web Database Manager">

        <title>${title}</title>

        <!--[if lt IE 9]>
        <meta http-equiv="refresh" content="0;upgrade.html"/>
        <![endif]-->

        <!-- Set render engine for 360 browser -->
        <meta name="renderer" content="webkit">

        <!-- No Siteapp-->
        <meta http-equiv="Cache-control" content="no-cache">
        <meta http-equiv="Cache" content="no-cache">
        <meta http-equiv="Expires" content="0">
        <meta http-equiv="Pragma" content="no-cache">
        <link rel="shortcut icon" href="${ctx}/osfw/favicon.ico"/>

        <!-- Add to homescreen for Chrome on Android -->
        <meta name="mobile-web-app-capable" content="yes">
        <link rel="icon" sizes="192x192" href="${ctx}/osfw/favicon.ico">

        <!-- Add to homescreen for Safari on iOS -->
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <meta name="apple-mobile-web-app-title" content="DB Adminer"/>
        <link rel="apple-touch-icon-precomposed" href="${ctx}/osfw/favicon.ico">

        <!-- Tile icon for Win8 (144x144 + tile color) -->
        <meta name="msapplication-TileImage" content="${ctx}/osfw/favicon.ico">
        <meta name="msapplication-TileColor" content="#0e90d2">

        [#-- 基础样式 --]
        [#if css?seq_contains("bootstrap") || css?seq_contains("assets") || css?seq_contains("bootstrap-table") || css?seq_contains("bootstrap-treetable") || css?seq_contains("bootstrap-treetable-ajax")]
            <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/bootstrap/bootstrap.min.css?v=${edition}"/>
        [/#if]
        <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/amazeui/2.5.0/css/amazeui.css?v=${edition}">
        <!-- select2下拉框插件样式 -->
       [#-- <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/select2/select2.min.css?v=20201125"/>
        <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/select2/select2-bootstrap.css?v=20201125"/>--]
        [#-- CSS样式库--]
        [#if css??]
            [#list css as c]
                [#if c="fw"]
                    [#-- 公共样式 --]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/base/common/osfw-ui.css?v=${edition}"/>
                [/#if]
                [#if c=="error"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/error/css/auth.css?v=${edition}" />
                [/#if]
                [#if c=="slidercaptcha"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/error/slidercaptcha/css/slidercaptcha.css?v=${edition}" />
                [/#if]
                [#if c=="login"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/login/css/login.css?v=${edition}"/>
                    <link rel="stylesheet" href="${ctx}/osfw/framework/login/css/login_emoji.css?v=${edition}"/>
                [/#if]
                [#if c=="index"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/index/css/index.css?v=${edition}"/>
                [/#if]
                [#if c=="contextMenu"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/contextmenu/jquery.contextMenu.css?v=${edition}"/>
                [/#if]
                [#if c=="bootstrap-table"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/bootstrap-table/bootstrap-table.min.css?v=${edition}"/>
                [/#if]
                [#if c=="bootstrap-table-editable"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/editable/bootstrap-editable.css?v=${edition}"/>
                [/#if]
                [#if c=="ztree" || c=="ztree-ajax"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css?v=${edition}"/>
                [/#if]
                [#if c=="assets"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/index/assets/fonts/font-awesome.css" type="text/css">
                    <link rel="stylesheet" href="${ctx}/osfw/framework/index/assets/css/owl.carousel.css" type="text/css">
                    <link rel="stylesheet" href="${ctx}/osfw/framework/index/assets/css/assets.css" type="text/css">
                [/#if]
                [#if c=="shield"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/login/shield/shield.css?v=${edition}" type="text/css">
                [/#if]
                [#if c=="animate"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/login/css/animate.css?v=${edition}" type="text/css">
                [/#if]
                [#if c=="agreement"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/index/agreement/css/style.css?v=${edition}" type="text/css">
                [/#if]
                [#if c=="vcode"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/login/vcode/style11.css?v=${edition}" type="text/css">
                [/#if]
                [#if c=="select"]
                    <link rel="stylesheet" href="${ctx}/osfw/framework/select/css/select.css?v=${edition}" type="text/css">
                [/#if]
            [/#list]
        [/#if]
        [#-- 自定义CSS --]
        [#nested /]
    </head>
[/#macro]

[#-- html内容 --]
[#macro body id="body" class="fw-none-bg" style=""]
    <body id="${id}" class="${class}" style="${style}">
        <!--[if lte IE 9]>
        <p class="browsehappy">你正在使用<strong>过时</strong>的浏览器，UI 暂不支持。 请 <a href="#" target="_blank">升级浏览器</a>以获得更好的体验！</p>
        <![endif]-->

        [#nested/]
    </body>
[/#macro]

[#-- 通用JS --]
[#macro script js=[] progress="true" ]
    [#-- 全局变量 --]
    <script type="text/javascript">
        var ctx = "${ctx}/";
        var fingerprint = "";
        var publicKey = "${publicKey!}";
        var userId = "";
    </script>
    [#-- 基础插件 --]
    <!--[if lt IE 9]>
    <script src="${ctx}/osfw/framework/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="${ctx}/osfw/framework/ajax/libs/modernizr/2.8.3/modernizr.js"></script>
    <script src="${ctx}/osfw/framework/ajax/libs/amazeui/2.5.0/js/amazeui.ie8polyfill.min.js"></script>
    <![endif]-->
    <!--[if (gte IE 9)|!(IE)]><!-->
    [#if js?seq_contains("assets")]
        <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/jquery/2.2.1/jquery-2.2.1.min.js"></script>
    [#else ]
        <script src="${ctx}/osfw/framework/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    [/#if]
    [#if js?seq_contains("bootstrap-table") || js?seq_contains("bootstrap-treetable") || js?seq_contains("bootstrap-treetable-ajax")]
        <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap/bootstrap.min.js?v=${edition}"></script>
    [/#if]
    <script src="${ctx}/osfw/framework/ajax/libs/amazeui/2.5.0/js/amazeui.js?v=${edition}"></script>
    <!-- select2下拉框插件 -->
[#--    <script src="${ctx}/osfw/framework/ajax/libs/select2/select2.min.js}"></script>--]
    <!--<![endif]-->
    [#if progress=="true"]
    <script type="text/javascript">
        $.AMUI.progress.start();
        $(function (){
            setTimeout(function() {
                    $.AMUI.progress.done();
            }, 500);
        });
    </script>
    [/#if]
    [#-- JS插件库--]
    [#if js??]
        [#list js as j]
            [#if j=="fw"]
                [#--遮罩层--]
                <script src="${ctx}/osfw/framework/ajax/libs/blockUI/jquery.blockUI.js?v=${edition}"></script>
                [#-- 公共插件 --]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/common/osfw-ui.js?v=${edition}"></script>
            [/#if]
            [#if j=="base64"]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/base64/jquery.base64.js?v=${edition}"></script>
            [/#if]
            [#if j=="error"]
                <script type="text/javascript" src="${ctx}/osfw/framework/error/js/auth.js?v=${edition}"></script>
            [/#if]
            [#if j=="slidercaptcha"]
                <script type="text/javascript" src="${ctx}/osfw/framework/error/slidercaptcha/js/longbow.slidercaptcha.js?v=${edition}"></script>
            [/#if]
            [#if j=="login"]
                <script type="text/javascript" src="${ctx}/osfw/framework/login/js/login.js?v=${edition}"></script>
            [/#if]
            [#if j=="index"]
                <script type="text/javascript" src="${ctx}/osfw/framework/index/js/index.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/index/js/index_header_nav.js?v=${edition}"></script>
            [/#if]
            [#if j=="fullscreen"]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/fullscreen/jquery.fullscreen.js?v=${edition}"></script>
            [/#if]
            [#if j=="contextMenu"]
                [#--jquery-contextMenu 右键菜单--]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/contextmenu/jquery.contextMenu.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/contextmenu/jquery.ui.position.js?v=${edition}"></script>
            [/#if]
            [#if j=="bootstrap-table"]
                [#--bootstrap-table 表格插件（修改版）--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/bootstrap-table/bootstrap-table.min.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/export/tableExport.js?v=${edition}"></script>
                [#--自定义增强--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/bootstrap-table/bootstrap-table-custom.js?v=${edition}"></script>
            [/#if]
            [#if j=="bootstrap-table-editable"]
            [#--bootstrap-treetable 表单树插件（修改版）--]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/editable/bootstrap-editable.min.js?v=${edition}"></script>
            [#--自定义增强--]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.js?v=${edition}"></script>
            [/#if]
            [#if j=="bootstrap-treetable"]
                [#--bootstrap-treetable 表单树插件（修改版）--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/bootstrap-treetable/bootstrap-treetable.js?v=${edition}"></script>
                [#--自定义增强--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/bootstrap-treetable/bootstrap-treetable-custom.js?v=${edition}"></script>
            [/#if]
            [#if j=="bootstrap-treetable-ajax"]
                [#--bootstrap-treetable 表单树插件（修改版）--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/bootstrap-treetable/bootstrap-treetable-ajax.js?v=${edition}"></script>
                [#--自定义增强--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/bootstrap-treetable/bootstrap-treetable-custom.js?v=${edition}"></script>
            [/#if]
            [#if j=="ztree"]
                [#--ztree 树插件--]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/jquery-ztree/jquery-ztree-custom.js?v=${edition}"></script>
            [/#if]
            [#if j=="ztree-ajax"]
                [#--ztree 树插件--]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js?v=${edition}"></script>
                [#--自定义增强--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/jquery-ztree/jquery-ztree-ajax.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/jquery-ztree/jquery-ztree-custom.js?v=${edition}"></script>
            [/#if]
            [#if j=="validate"]
                [#--jquery-validate 表单验证插件--]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/validate/jquery.validate.min.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/validate/messages_zh.min.js?v=${edition}"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/validate/jquery.validate.extend.js?v=${edition}"></script>
                [#--自定义增强--]
                <script type="text/javascript" src="${ctx}/osfw/framework/base/extend/jquery-validate/jquery-validate-custom.js?v=${edition}"></script>
            [/#if]
            [#if j=="dwr"]
                <script type="text/javascript" src="${ctx}/osfw/dwr/engine.js"></script>
                <script type="text/javascript" src="${ctx}/osfw/dwr/util.js"></script>
                <script type="text/javascript" src="${ctx}/osfw/dwr/interface/DwrMessagePush.js"></script>
            [/#if]
            [#if j=="sm2"]
                <script type="text/javascript" src="${ctx}/osfw/framework/ajax/libs/sm2/sm2.js?v=${edition}"></script>
            [/#if]
            [#if j=="eraser"]
                <script type="text/javascript" src="${ctx}/osfw/framework/login/eraser/jquery.eraser.js?v=${edition}"></script>
            [/#if]
            [#if j=="assets"]
                <script type="text/javascript" src="${ctx}/osfw/framework/index/assets/js/owl.carousel.min.js"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/index/assets/js/pace.min.js"></script>
                <script type="text/javascript" src="${ctx}/osfw/framework/index/assets/js/assets.js?v=${edition}"></script>
            [/#if]
            [#if j=="shield"]
                <script type="text/javascript" src="${ctx}/osfw/framework/login/shield/shield.js?v=${edition}"></script>
            [/#if]
            [#if j=="agreement"]
                <script type="text/javascript" src="${ctx}/osfw/framework/index/agreement/extras/modernizr.2.5.3.min.js?v=${edition}"></script>
            [/#if]
            [#if j=="select"]
                <script type="text/javascript" src="${ctx}/osfw/framework/select/js/select.js?v=${edition}"></script>
            [/#if]
        [/#list]
    [/#if]
    [#-- 自定义JS --]
    [#nested /]
[/#macro]

[#-- HTML页面 --]
[#macro html title="" css=[]  js=[]]
    [@htmlDoctype]
        [#nested /]
    [/@htmlDoctype]
[/#macro]

[#-- html内容主体 --]
[#macro main group="0" style=""]
    [#--主体内容--]
    <div class="fw-main connect-group-${group}" style="${style}">
        [#nested /]
    </div>
[/#macro]

[#-- html内容主体 --]
[#macro formMain style=""]
    [#--主体内容--]
    <div class="fw-form-main" style="${style}">
        [#nested /]
    </div>
[/#macro]


[#--主体内容--操作栏--]
[#macro mainHeader titles=[] toolbar="toolbar" ]
    <div id="${toolbar}" class="fw-manage">
        [#if titles?? && titles?size > 0 ]
            <div class="am-u-sm am-margin-0 am-padding-0 fw-model-title">
                <ol class="am-breadcrumb am-breadcrumb-slash">
                    [#list titles as title]
                        [#if title_has_next]
                            <li>${title}</li>
                        [#else ]
                            <li class="am-active">${title}</li>
                        [/#if]
                    [/#list]
                </ol>
            </div>
        [/#if]
        <div class="am-u-sm am-margin-0 am-padding-0 fw-model-setup-left">
            <div class="am-btn-group am-btn-group-xs fw-function-oper-btn">
                [#nested /]
            </div>
        </div>
        <div class="am-u-sm am-margin-0 am-padding-0 fw-model-setup-right">
            <div class="am-btn-group am-btn-group-xs fw-function-oper-btn">
            </div>
        </div>
    </div>
[/#macro]

[#--主体内容--搜索栏--]
[#macro searchForm searchId="form-search" tableId="jquery-datatables" searchFun="$.table.search()" resetFun="$.form.reset()" display="none" ]
    <div class="search-collapse fw-search-collapse am-radius" style="display: ${display};">
        <form id="${searchId}" class="am-form-inline am-radius fw-search">
            [#nested /]
            <div class="am-form-group">
                <a class="am-btn am-btn-sm am-btn-secondary am-border-secondary am-radius" onclick="${searchFun}">搜索</a>
                <a class="am-btn am-btn-sm am-btn-warning am-border-warning am-radius" onclick="${resetFun}">重置</a>
            </div>
        </form>
    </div>
[/#macro]


[#--主体内容--表单块--]
[#macro dataForm formId="form-data" onclick="submitHandler()" readonly="false" hidden="" ]
    <form id="${formId}" class="am-form fw-form ${hidden}" spellcheck="false" data-am-validator>
        <fieldset class="am-form-set">
            [#nested /]
        </fieldset>
    </form>
[/#macro]


[#macro deptTreeLeft ]
    <div class="fw-tree-left">
        <div class="tree-header">
            <div class="title">
                <i class="am-icon-sitemap"> 组织架构</i>
            </div>
            <div class="treeExpandCollapse">
                <a href="#" onclick="$.tree.expand()">展开</a> /
                <a href="#" onclick="$.tree.collapse()">折叠</a>
            </div>
        </div>
        <div class="tree-wrapper">
            <div id="dept-tree-left" class="ztree"></div>
        </div>
        <a id="tree-foldbar-outdent" class="am-btn am-btn-default am-icon-caret-right am-hide" title="展开"></a>
        <a id="tree-foldbar-indent" class="am-btn am-btn-default am-icon-caret-left" title="折叠"></a>
    </div>
[/#macro]

[#macro layoutLeft title="" icon="" ]
    <div class="fw-layout-left">
        <div class="panel-header">
            <div class="title">
                <i class="am-icon-sitemap"> ${title}</i>
            </div>
        </div>
        <div class="panel-wrapper">
            <div class="content">
                [#nested /]
            </div>
        </div>
        <a class="am-btn am-btn-default am-icon-caret-right foldbar-outdent am-hide" title="展开"></a>
        <a class="am-btn am-btn-default am-icon-caret-left foldbar-indent" title="折叠"></a>
    </div>
[/#macro]

[#macro layoutPanelRight title="" icon="" ]
    <div class="fw-layout-right">
        <div class="panel-header">
            <div class="title">
                <i class="am-icon-ioxhost"> ${title}</i>
            </div>
        </div>
        <div class="panel-wrapper">
            <div class="content">
                [#nested /]
            </div>
        </div>
        <a class="am-btn am-btn-default am-icon-caret-left foldbar-outdent am-hide" title="展开"></a>
        <a class="am-btn am-btn-default am-icon-caret-right foldbar-indent am-hide" title="折叠"></a>
    </div>
[/#macro]


[#macro rightToolbar showReturn="false"]
    [#--PC/APP 右侧悬浮按钮--]
    <div class="fw-toolbar">
        [#if showReturn == "true"]
            <a id="fw-toolbar-return" href="##" class="am-btn am-btn-black am-radius am-icon-arrow-left am-icon-fw fw-push-modal"
               data-icon="am-icon-arrow-left" data-title="返回上级" data-rel="close"></a>
        [/#if]
            <a id="fw-toolbar-godown" href="#buttom" class="am-btn am-btn-black am-radius am-icon-arrow-down am-icon-fw am-hide"
                data-icon="am-icon-arrow-down" data-title="直达底部"></a>
            <a id="fw-toolbar-goup" href="#top" class="am-btn am-btn-black am-radius am-icon-arrow-up am-icon-fw am-hide"
               data-icon="am-icon-arrow-up" data-title="回到顶部" data-am-smooth-scroll></a>
        [#nested /]
    </div>
[/#macro]


[#--底部版权栏(固定式)--]
[#macro fixedFooter year="2024" copyright="OSFW" author="fanwei" license="MIT License"]
    <div class="fw-footer am-topbar-fixed-bottom">
        <footer class="am-footer footer-bt1 footer-p0 footer-mb0 am-footer-default" data-am-widget="footer" data-am-footer="{  }">
            <div class="am-footer-switch footer-mb0">
                <div class="am-footer-miscs ">
                    <p>由 <a href="https://gitee.com/fanjunzi/junzi-dbadminer" title="${author}" target="_blank">${author}</a> 提供技术支持</p>
                    <p>CopyRight©${year}  ${copyright}.</p>
                    <p>${license}</p>
                </div>
            </div>
        </footer>
    </div>
[/#macro]


[#--底部版权栏(悬浮式)--]
[#macro floatFooter year="2024" copyright="OSFW" author="fanwei" license="MIT License"]
    <div class="copyright-info">
        <span>CopyRight©${year}  ${copyright}.</span>
        <span>${license}</span>
        <span>由 <a href="https://gitee.com/fanjunzi/junzi-dbadminer" title="${author}" target="_blank">${author}</a> 提供技术支持.</span>
    </div>
[/#macro]


[#--ifram嵌入--]
[#macro iframe src="about:blank" name="iframe_" width="100%" height="100%" ]
    <iframe class="fw_iframe" name="${name}" width="${width}" height="${height}" data-id="0" style="vertical-align:bottom;"
            src="${src}" frameborder="0" scrolling="yes" marginheight="0" marginwidth="0"></iframe>
[/#macro]


[#-- 权限函数 --]
[#function hasPermission permission=""]
    [@shiro.lacksPermission name=permission]
        [#return "hidden"]
    [/@shiro.lacksPermission]
    [@shiro.hasPermission name=permission]
        [#return ""]
    [/@shiro.hasPermission]
[/#function]


[#-- 字典函数 --]
[#function getDict type="" value="" ]
    [#if value??]
        [#return '${dict.getLabel(type, value)}']
    [#else]
        [#return JSON.parse('${fwJson.toJson(dict.getType(type))}')]
    [/#if]
[/#function]


[#-- 字典函数 --]
[#function getDict type="" length=0 ]
    [#if value??]
        [#return '${dict.getLabel(type, value)}']
    [#else]
        [#return JSON.parse('${fwJson.toJson(dict.getType(type))}')]
    [/#if]
[/#function]
